perm filename MOP.TC[CLS,LSP]1 blob sn#850101 filedate 1987-12-04 generic text, type T, neo UTF8
!4!!3--1
!0Common Lisp Object System Specification!!3--1
!13. Metaobject Protocol!!3--1
!4CONTENTS!!3--2
!2Status of Document!!3--5
!2Terminology!!3--6
!2Introduction!!3--7
!2Class Organization in the CLOS Kernel!!3--9
!2The Classes in the CLOS Kernel!!3--12
!3standard-class!!3--13
!3forward-referenced-class!!3--13
!3built-in-class!!3--13
!3structure-class!!3--13
!3standard-slot-description!!3--13
!3standard-class-slot-description!!3--13
!3standard-method!!3--14
!3standard-accessor-method!!3--14
!3standard-reader-method!!3--14
!3standard-writer-method!!3--14
!3standard-generic-function!!3--14
!2The Named Class Definition Protocol!!3--16
!3expand-defclass!!3--16
!3add-named-class!!3--17
!3class-for-redefinition!!3--18
!3compatible-metaclass-change-p!!3--19
!2The Named Method Definition Protocol!!3--21
!2The Slot Parsing Protocol!!3--23
!3slot-description-class!!3--23
!3make-instance of slot-descriptions!!3--23
!2The Class Update Protocol!!3--25
!3update-class!!3--25
!3default-class-supers!!3--27
!3check-super-metaclass-compatibility!!3--27
!3propagate-class-update!!3--28
!3update-class-locally!!3--28
!3finalize-inheritance!!3--29
!3Adding and Removing Accessor Methods!!3--29
!2The Slot Inheritance Protocol!!3--31
!2The Instance Structure Protocol!!3--33
!3Instance Allocation!!3--33
!3Index Level Instance Allocation!!3--34
!3Symbolic Level Instance Allocation!!3--34
!3Slot Level Instance Allocation!!3--35
!3Instance Access!!3--35
!3Index Level Instance Access!!3--35
!3Symbolic Level Instance Access!!3--36
!3index-in-instance!!3--36
!3Optimized Symbolic Level Instance Access!!3--37
!3Slot Level Instance Access!!3--38
!3slot-value-using-class!!3--38
!3slot-boundp-using-class!!3--38
!3slot-makunbound-using-class!!3--39
!3slot-exists-p-using-class!!3--39
!3Example of Using the Instance Structure Protocol!!3--39
!2The Instance Access Optimization Protocol!!3--42
!2The Generic Function Update Protocol!!3--44
!2The Method Lookup Protocol!!3--45
!3Support Functions for Method Lookup!!3--46
!3Example of using the Method Lookup Protocol!!3--47